#define _CRT_SECURE_NO_WARNINGS
#include<string>
#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
string multi(string& a, string& b)
{
	string ret;
	reverse(a.begin(), a.end());
	reverse(b.begin(), b.end());
	int az = a.size(), bz = b. size();
	vector<int>arr(az + bz);
	for (int i = 0; i < az; i++)
	{
		int tem1 = a[i] - '0';
		for (int j = 0; j < bz; j++)
		{
			int tem2 = b[j] - '0';
			arr[i + j] += tem1 * tem2;
		}
	}
	int count = 0;
	for (auto& ch : arr)
	{
		count += ch;
		ret.push_back(count % 10 + '0');
		count /= 10;
	}
	while (count)
	{
		ret.push_back(count % 10);
		count /= 10;
	}
	while (ret.size() > 1 && ret[ret.size() - 1] == '0') ret.pop_back();
	reverse(ret.begin(), ret.end());
	return ret;
}
int main()
{
	string a, b; cin >> a >> b;
	cout << multi(a, b) << endl;
	return 0;
}